<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ include file="../head.jsp"%>
<%@ page import="java.util.*" %>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Struts2标签学习</title>
</head>
<body>
	<s:property />
	解析ognl表达式，设置默认值，设置内容是否HTML转义
	<%
		request.setAttribute("msg1", "<h1>你好</h1>");
	%>
	<s:property value="#request.msg1"  default="属性值不存在" escapeHtml="false"/>
	escape：代表是否进行html转义
	
	<hr>
	s:set   向四个数据范围保存数据 
        <!-- 默认是按照ognl进行解析的,所以需要设置不进行解析 -->
   <s:set var="name" value="zhnagsan" scope="request"></s:set>
   在request中存储的数据
    <hr>
    
    <s:iterator/> 遍历值栈中数据 
     <!-- 遍历map集合 -->
	    <%
		Map<String,String> map = new HashMap<String,String>();
		map.put("name", "马云");
		map.put("age", "40");
		request.setAttribute("map", map);
	     %>
	 <s:iterator  value="#request.map"  var="msg">
	      <s:property  value="key"/>--<s:property  value="#msg.value"/><br/>
	 </s:iterator>
    
	<hr>
	多选框
	<%-- <s:checkboxlist> --%> 生成一组checkbox
	* 使用ognl构造 Map （看到值和提交值 不同时）
	*
	 <s:checkboxlist list="#{'sport':'体育','read':'读书','music':'音乐' }" name="hobby"></s:checkboxlist>
	
<hr>
<%-- <s:radio> --%> 生成一组radio
	* 使用 ognl构造 List  （看到内容和提交值 相同时）
	* <s:radio list="{'男','女'}" name="gender"></s:radio>
<hr>

<%-- <s:select>--%> 生成一个select
             * 使用 ognl构造 List  （看到内容和提交值 相同时）
	* <s:select list="{'北京','上海','南京','广州'}" name="city"></s:select>
<hr>

============= struts2 开发 密码框 默认不回显 
      <s:password name="password" id="password" showPassword="true"/>

</body>
</html>